package com.work.biz.service.impl;

import java.util.Date;
import java.util.List;

import com.work.biz.domain.BizTeacher;
import com.work.biz.mapper.BizTeacherMapper;
import com.work.biz.service.IBizTeacherService;
import com.work.common.utils.DateUtils;
import com.work.sys.mapper.SysUserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.work.biz.mapper.BizClazzMapper;
import com.work.biz.domain.BizClazz;
import com.work.biz.service.IBizClazzService;
import org.springframework.transaction.annotation.Transactional;

/**
 * 班级Service业务层处理
 *
 * @author lee
 * @date 2021-04-22
 */
@Service("bizClazzService")
public class BizClazzServiceImpl implements IBizClazzService {
    @Autowired
    private BizClazzMapper bizClazzMapper;
    @Autowired
    private SysUserMapper userInfoMapper;
    @Autowired
    private IBizTeacherService teacherService;

    /**
     * 查询班级
     *
     * @param classId 班级ID
     * @return 班级
     */
    @Override
    public BizClazz selectBizClazzById(Long classId) {
        return bizClazzMapper.selectBizClazzById(classId);
    }

    /**
     * 查询班级列表
     *
     * @param bizClazz 班级
     * @return 班级
     */
    @Override
    public List<BizClazz> selectBizClazzList(BizClazz bizClazz) {
        return bizClazzMapper.selectBizClazzList(bizClazz);
    }

    /**
     * 查询班级列表
     *
     * @param teacherId 班级
     * @return 班级
     */
    @Override
    public List<BizClazz> selectBizClazzListByTeacher(Long teacherId) {
        return bizClazzMapper.selectBizClazzListByTeacher(teacherId);
    }

    /**
     * 新增班级
     *
     * @param bizClazz 班级
     * @return 结果
     */
    @Override
    @Transactional
    public int insertBizClazz(BizClazz bizClazz) {
        Date now = DateUtils.getNowDate();
        bizClazz.setCreateTime(now);
        String createBy = userInfoMapper.selectSysUserById(bizClazz.getTeacherId()).getNickName();
        bizClazz.setCreateBy(createBy);
        int m = bizClazzMapper.insertBizClazz(bizClazz);
        BizTeacher teacher = new BizTeacher();
        teacher.setUserId(bizClazz.getTeacherId());
        teacher.setClassId(bizClazz.getClassId());
        teacher.setTeacherName(createBy);
        teacher.setCreateTime(now);
        teacherService.insertBizTeacher(teacher);
        return m;
    }

    /**
     * 修改班级
     *
     * @param bizClazz 班级
     * @return 结果
     */
    @Override
    public int updateBizClazz(BizClazz bizClazz) {
        bizClazz.setUpdateTime(DateUtils.getNowDate());
        return bizClazzMapper.updateBizClazz(bizClazz);
    }

    /**
     * 批量删除班级
     *
     * @param classIds 需要删除的班级ID
     * @return 结果
     */
    @Override
    public int deleteBizClazzByIds(Long[] classIds) {
        return bizClazzMapper.deleteBizClazzByIds(classIds);
    }

    /**
     * 删除班级信息
     *
     * @param classId 班级ID
     * @return 结果
     */
    @Override
    public int deleteBizClazzById(Long classId) {
        return bizClazzMapper.deleteBizClazzById(classId);
    }
}
